home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 17376 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  12.9 KB

  1. Path: hades.rz.uni-sb.de!papanik
  2. From: papanik@crypt10.cs.uni-sb.de (Thomas Papanikolaou)
  3. Newsgroups: comp.lang.c++,gnu.g++
  4. Subject: Announcement LiDIA-1.2.1
  5. Date: 15 Apr 1996 16:04:29 GMT
  6. Organization: University of Saarland, Germany
  7. Distribution: world
  8. Message-ID: <4kts2d$a1c@hades.rz.uni-sb.de>
  9. NNTP-Posting-Host: crypt10.cs.uni-sb.de
  10. Keywords: C++, number theory, multiprecision, factorization, templates
  11. Originator: papanik@crypt10.cs.uni-sb.de
  12.  
  13.  
  14.  
  15. -------------------------------------------------------------------
  16.  
  17.                          ANNOUNCEMENT
  18.  
  19.                             LiDIA
  20.  
  21.            A library for computational number theory
  22.  
  23.   Copyright (c) 1994, 1995, 1996 by the LiDIA Group - Version 1.2
  24.  
  25.                 Universit"at des Saarlandes
  26.                 Fachbereich 14 - Informatik
  27.                  Lehrstuhl Prof. Buchmann
  28.                     Postfach 151150
  29.                   D - 66041 Saarbr"ucken
  30.  
  31.  
  32. -------------------------------------------------------------------
  33.  
  34.  
  35. CONTENTS
  36. @@@@@@@@
  37.  
  38. 1) ABSTRACT
  39. 2) LiDIA GROUP
  40. 3) CONTENTS OF THIS RELEASE
  41.    3.1 What is new?
  42.    3.2 What is in work?
  43. 4) HOW TO GET AND INSTALL LiDIA
  44.    4.1) FTP procedure
  45.    4.2) Unpacking procedure
  46.    4.3) Installation procedure (short version) 
  47.    4.4) Calling a test program
  48.    4.5) Installation procedure (long version) 
  49. 5) NOTE
  50.    4.1) Send an email
  51.    4.2) Be a part of it 
  52. 6) LiDIA GOES TO DARMSTADT
  53. 7) ACKNOWLEDGEMENTS
  54.  
  55.  
  56.  
  57.  
  58. 1) ABSTRACT 
  59. @@@@@@@@@@@
  60.  
  61. LiDIA is a *powerful C++ library* for computational number theory
  62. which provides a collection of *highly optimized implementations*
  63. of  various   multiprecision   data   types   and  time-intensive
  64. algorithms.  LiDIA  is  developed  by  the  LiDIA  Group,  at the
  65. Universit"at  des  Saarlandes  and  it  is *free* for educational
  66. purposes. The current version runs on 
  67.  
  68. o alpha, sparc7, sparc8, mips, intel(paragon), hp, cray c90, rs6k
  69.  
  70. with the following compilers
  71.  
  72. o g++-2.6.x, g++-2.7.x, cfront-3.01, HP C++, MIPS C++, xlC, Sun's
  73.   acc, Watcom v.10, Borland-4.x
  74.  
  75. on the following operating systems
  76.  
  77. o SunOS, Solaris, OSF/1, OS/2, AIX-3.2.5, IRIX-5.2, Linux, FreeBSD,
  78.   HP-UX9.05, MacOS (*), Windows 95 (**)
  79.  
  80. supporting the object file formats
  81.  
  82. o a.out, ELF
  83.  
  84.  
  85. (*) At  the  moment  there  is no automatic way to build LiDIA on
  86.     the  Mac.  We have built LiDIA manually using the CodeWarrior
  87.     C/C++  compiler,  version 7.  The corresponding project files
  88.     will be released soon.
  89.  
  90. (**) with some modifications (contact lidia@cs.uni-sb.de for more
  91.      information).
  92.  
  93. For  a more detailed description of LiDIA's design and features we 
  94. refer to the manual.
  95.  
  96.  
  97.  
  98. 2) LiDIA GROUP 
  99. @@@@@@@@@@@@@@
  100.  
  101. At the moment the LiDIA Group consists of the following people:
  102.  
  103. Werner Backes         F-D Berger         Ingrid Biehl
  104. Johannes Buchmann     John Cremona       Sascha Demetrio
  105. Thomas Denny          Kurt Huwig         Thorsten Lauer
  106. Frank Lehmann         Markus Maurer      Oliver Morsch
  107. Andreas M"uller       Volker M"uller     Stefan Neis
  108. Thomas Papanikolaou   Sachar Paulus      Nigel Smart
  109. Victor Shoup          Thomas Sosnowski   Patrick Theobald
  110. Damian Weber          Susanne Wetzel
  111.  
  112. Old Members
  113. ^^^^^^^^^^^
  114. Oliver van Sprang     Ren'e Weiskircher
  115.  
  116.  
  117.  
  118. 3) CONTENTS OF THIS RELEASE
  119. @@@@@@@@@@@@@@@@@@@@@@@@@@@
  120.  
  121. 3.1) What is new?
  122. ^^^^^^^^^^^^^^^^^
  123.  
  124. The current  version of LiDIA (1.2) is a major  release. It follows
  125. the  beta-tested  version 1.2.0b released on 26th of February  1996
  126. by  registered  LiDIA users. Most of the work was done in extending
  127. the package and in improving stability and performance.
  128.  
  129. o the  factorization  class  now  includes an implementation of the
  130.   self-initializing version of the multipolynomial quadratic sieve.
  131.   With  this method LiDIA is now able to factor integers of size 75
  132.   digits  (max).  For  example, a 50-digit number with two 25-digit
  133.   prime factors is now factored in 16 minutes on a sparc20.
  134.  
  135. o new  template  vectors  and matrices have been included, unifying
  136.   matrices and lattices.
  137.  
  138. o new template implementation of Laurent power series and univariate
  139.   polynomials.
  140.  
  141. o a  memory  manager  is now included providing 4 modi which can be
  142.   chosen  at  compile time: malloc (using the system's memory mana-
  143.   ger malloc/free), dentzer (using a buddy-algorithm combined with
  144.   free-list storage), boehm (Boehm's garbage collector) and default
  145.   (no memory manager at all).
  146.  
  147.  
  148. 3.2) What is in work?
  149. ^^^^^^^^^^^^^^^^^^^^^
  150.  
  151. o In beta testing
  152.  
  153.   - Finite fields GF(2^n), GF(2^p)
  154.   - Generic multivariate rational function arithmetic
  155.   - Gr"obner bases
  156.   - Factoring in F_p[x] (Shoup's algorithms)
  157.  
  158.   (pre-releases of these packages available on request)
  159.  
  160. o In work
  161.  
  162.   - Porting of John Cremona's elliptic curve package
  163.   - Discrete logarithms using COS
  164.   - Symbolic computation package
  165.   - Invariants of number fields
  166.   - Counting points on elliptic curves over |F_p, p > 3
  167.   - Incoprorating PoSSo's Customizable Memory Manager into LiDIA 
  168.   - LiDIA development environment (support for configuring, (remote)
  169.     control version, editing, compiling, running and debugging of
  170.     LiDIA programs)
  171.  
  172.  
  173. 4) HOW TO GET AND INSTALL LiDIA
  174. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  175.  
  176.  
  177. 4.1) FTP procedure
  178. ^^^^^^^^^^^^^^^^^^
  179. LiDIA is available by anonymous ftp from
  180.  
  181.              crypt1.cs.uni-sb.de:/pub/systems/LiDIA
  182.              ftp.cs.uni-sb.de:/pub/LiDIA
  183.          unix.hensa.ac.uk:/mirrors/LiDIA
  184.  
  185. If you have ncftp you can get LiDIA by simply typing
  186.  
  187.      ncftp crypt1.cs.uni-sb.de:/pub/systems/LiDIA/LiDIA.tgz
  188.  
  189. else use the following ftp session. With > we denote the commands
  190. you have to type in. // denotes a short explanation.
  191.  
  192. > ftp crypt1.cs.uni-sb.de          // connect  to  the ftp server  
  193. > anonymous                        // your     login         name
  194. > <complete email address>         // your password is your email
  195.                                    // address.  PLEASE  give  the 
  196.                    // correct email address. 
  197. > cd pub/systems/LiDIA             // the  directory  where LiDIA
  198.                                    // resides 
  199. > binary                           // set  binary  mode  for data
  200.                                    // transfer
  201. > get README                       // get   the    README    file
  202. > get COPYRIGHT                    // get   the    COPYRIGHT file
  203. > get LiDIA.tgz                    // get      the        package
  204. > bye                              // disconnect
  205.  
  206. This session  will  get the files README, COPYRIGHT and LiDIA.tgz
  207. and  will place them in the current directory (from now on called 
  208. UNPACKDIR).
  209.  
  210.  
  211. 4.2) Unpacking procedure
  212. ^^^^^^^^^^^^^^^^^^^^^^^^
  213. Now typing in
  214.  
  215.                gunzip -c LiDIA.tgz | tar xvf -
  216.  
  217. will  create  a  directory  named  LiDIA;  in this directory the 
  218. following files/directories should exist:
  219.  
  220. UNPACKDIR/LiDIA:
  221.  
  222. Readme     bugs/           doc/           lib/      makefile.os2 
  223. bin/       config/         include/       makefile          src/
  224.  
  225. Readme ............................................... this file
  226. bin ........... holds LiDIA's applications files (see make appl) 
  227. lib .................. holds LiDIA's library and thr primes file
  228. config ...................... contains the configuration scripts
  229. doc .......... contains LiDIA's documentation in various formats
  230. include ............................ holds LiDIA's include files
  231. makefile ............................. for UNIX, Linux, AIX, ... 
  232. makefile.os2 ..................................... for OS/2 only
  233. src ............................................ LiDIA's sources
  234.  
  235.  
  236. 4.3) Installation procedure (short version)
  237. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  238. In the UNPACKDIR/LiDIA directory type
  239.  
  240. STEP 1.         make configure
  241.  
  242. and  answer  the  questions  of  the `configure' script. You will
  243. be  asked  for the installation path of LiDIA (this is by default
  244. /usr/local).  Please  enter  an  existing  path on which you have
  245. write  permission, since this is neccessary by the `make install'
  246. command below. If your machine produces objects in the ELF format
  247. you should also edit the file 
  248.  
  249.         LiDIA/config/CONFIG
  250.  
  251. and replace the line
  252.  
  253.         ASFLAGS = -DUMMY
  254.  
  255. with 
  256.         ASFLAGS = -DHAVE_ELF
  257.  
  258. Solaris  users  should  also  define  -DSOLARIS after the default
  259. CFLAGS and CXXFLAGS (if this is not already guessed by the confi-
  260. gure script). After this type
  261.  
  262. STEP 2.         make
  263.  
  264. to build the library and (optionally)
  265.  
  266. STEP 2a.        make appl
  267.  
  268. to create the applications which test the classes and demonstrate
  269. their  use.  Finally,  if  and  only  if  you have not chosen the 
  270. current path as installation path, type
  271.  
  272. STEP 3.         make install
  273.  
  274. to  install  the  library  of  LiDIA (libLiDIA.a) and the include
  275. files on your system. If you want to change the installation path
  276. please  rerun  STEP 1  before   calling  `make install'.  LiDIA's 
  277. library is installed by default on
  278.  
  279.                 /usr/local/lib/LiDIA/$host-cpu/$cpp/libLiDIA.a
  280.  
  281. where host-cpu is  determined  by  the  command `config.guess' of
  282. the  GNU  software and $cpp is the C++ compiler used (in this way
  283. you  are  allowed  to  create  multiple  libraries   produced  by
  284. different  compilers  on the same machine). LiDIA's include files
  285. are installed by default on
  286.  
  287.                 /usr/local/include/LiDIA
  288.  
  289. and finally LiDIA's binaries are installed on
  290.  
  291.         /usr/local/bin/LiDIA/$host-cpu/$cpp
  292.  
  293.  
  294.  
  295. 4.3) Calling a test program
  296. ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  297. To call a test program, change to the directory 
  298.  
  299.                 UNPACKDIR/LiDIA/bin/$host-cpu/$cpp
  300.  
  301. by simply typing
  302.  
  303.         cd UNPACKDIR/LiDIA/bin/$host-cpu/$cpp
  304.  
  305. The  applications in this directory, try to test all functions of
  306. the  LiDIA  classes.  They are succesful, if they do not print an 
  307. error message.
  308.  
  309.  
  310. 4.4) Installation procedure (long version) 
  311. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  312. Please read the chapter `Installing' in the manual
  313.  
  314.                 UNPACKDIR/LiDIA/doc/manual/lidiaman.ps
  315.  
  316.  
  317.  
  318. 5) NOTE
  319. @@@@@@@
  320.  
  321. 5.1) Send an email
  322. ^^^^^^^^^^^^^^^^^^
  323. After  having  installed   LiDIA,  please send us an email saying
  324. that  you have done so. This enables us to inform you about bugs,
  325. bug fixes, new version, etc.
  326.  
  327. If you successfully installed LiDIA please tell us so  If you had
  328. no  success  at  all  and  this  is likely to be a bug  in LiDIA,
  329. (including  incomplete / incorrect documentation), please report.
  330. Note that we will  probably  not  be able  to reconstruct  a  bug
  331. without  a detailed description. The format suggested in the file
  332. `bug_reports.form'  in  the  LiDIA/bugs directory should  be  the
  333. guide for all bug reports.  Approved bugs will be included in the
  334. file `bugs' which also resides in the LiDIA/bugs directory. You
  335. can send your suggestions, enhancements, etc to
  336.  
  337.                      lidia@cs.uni-sb.de
  338.  
  339. Please, send bug reports (and fixes) to
  340.  
  341.                    lidia-bugs@cs.uni-sb.de
  342.  
  343.  
  344. 5.2) Be a part of it 
  345. ^^^^^^^^^^^^^^^^^^^^
  346. We would also appreciate all sorts of feedback,  bug reports  and
  347. bug  fixes,  enhancements,  contributions  etc. At this point one
  348. short  note  (answering  the  question  posed frequently by LiDIA
  349. users):
  350.  
  351. For  programs  contributed  to LiDIA the copyright remains to the
  352. author.  However,  once a program is contributed to LiDIA and  is
  353. released  for  the public with LiDIA it is not possible to remove
  354. it from the package, since users may have built their work on top
  355. of it.  LiDIA's policy is to put the author's name in the manual,
  356. the  source code and in the announcement of the corresponding re-
  357. lease.  For  more  details, please read the file COPYRIGHT in the
  358. main distribution directory.
  359.  
  360.  
  361.  
  362.  
  363. 6) LiDIA GOES DARMSTADT
  364. @@@@@@@@@@@@@@@@@@@@@@@
  365.  
  366. The LiDIA Group will move to Darmstadt (about 40km from Frankfurt)
  367. by  the  end of the year, following Prof. J. Buchmann.  Until  the
  368. movement  is completed, the user support (a team of 6 programmers)
  369. will remain in  Saarbr"ucken.
  370.  
  371. We will inform you more precisely on this in about one month.
  372.  
  373.  
  374. 7) ACKNOWLEDGEMENTS
  375. @@@@@@@@@@@@@@@@@@@
  376.  
  377. I would like to thank in the name of the LiDIA Group all users who
  378. have  up-loaded,  installed and beta-tested LiDIA in this short a-
  379. mount of time.
  380.  
  381. LiDIA  profits  from  user contributions and various public domain
  382. software packages:  special  thanks  to  Arjen  Lenstra  and  Paul
  383. Leyland  for  freelip-1.0,  Ralf  Dentzer   for   libI and the GNU
  384. project for their superb software. LiDIA's development environment
  385. uses GNU tools extensively. 
  386.  
  387. Thanks  also to Hans-J. Boehm and Alan J. Demers for the gc memory
  388. manager. 
  389.  
  390. Last  but  not  least,  I  would  like  to thank my colleagues John
  391. Cremona (Exeter University)  and Nigel P. Smart (University of Kent
  392. at Canterbury) for many useful comments and discussions.
  393.  
  394. Best to all of you,
  395.  
  396.     Thomas Papanikolaou (TP)
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403. -- 
  404. Thomas Papanikolaou, Universitaet des Saarlandes, Fachbereich 14 - Informatik,
  405. Lehrstuhl Prof. J. Buchmann, Postfach 15 11 50, 66123 Saarbruecken, Germany.
  406. Phone: (+49) 681 302 4166, Fax: (+49) 681 302 4164, Email: papanik@cs.uni-sb.de
  407. -- 
  408. Thomas Papanikolaou, Universitaet des Saarlandes, Fachbereich 14 - Informatik,
  409. Lehrstuhl Prof. J. Buchmann, Postfach 15 11 50, 66123 Saarbruecken, Germany.
  410. Phone: (+49) 681 302 4166, Fax: (+49) 681 302 4164, Email: papanik@cs.uni-sb.de
  411.